home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 January - Disc 2 / Macworld (1999-01) (Disk 2).dmg / Serious Demos / Portfolio 4.0.1 / Scripting Extras / Change Path.txt < prev    next >
Text File  |  1998-09-15  |  2KB  |  49 lines

  1. -- 1.01 - Check to make sure Portfolio is running
  2. tell application "Finder"
  3.     set P_app to every process whose name contains "Portfolio"
  4.     if P_app is {} then
  5.         display dialog ¬
  6.             "Portfolio must be running for this script to operate." buttons {"OK"} default button {"OK"}
  7.         return
  8.     end if
  9. end tell
  10.  
  11. --Get the appropriate search information from the user
  12. set sSearch to text returned of (display dialog "Enter the value to search for:" default answer "")
  13. set sReplace to text returned of (display dialog "Enter the new value to be substituted:" default answer sSearch)
  14. set cButton to button returned of (display dialog "Choose the scope of the search:  " buttons {"Entire Catalog", "Current Gallery"} default button 1)
  15.  
  16. set iSearchLen to the length of sSearch
  17.  
  18. tell application "Portfolio"
  19.     -- Find all the records beginning with sSearch
  20.     set theQuery to "Path" & tab & "starts with" & tab & sSearch
  21.     if cButton = "Entire Catalog" then
  22.         find record of front gallery matching theQuery in all records
  23.     else
  24.         find record of front gallery matching theQuery in shown records
  25.     end if
  26.     
  27.     -- If no items were found, tell the user and then quit.
  28.     if result is 0 then
  29.         display dialog ¬
  30.             "No records match your search criteria." buttons {"OK"} default button {"OK"}
  31.         return
  32.     end if
  33.     
  34.     -- Get the list of IDs of the found set.
  35.     set lRID to the id of every record in the front gallery as list
  36.     
  37.     repeat with rID in lRID
  38.         -- Get the original path.
  39.         set fPath to field "path" of record id rID of front gallery
  40.         set iLeft to the length of fPath
  41.         set fLeftPath to the characters (iSearchLen + 1) through iLeft of fPath as string
  42.         set fNewPath to sReplace & fLeftPath as string
  43.         
  44.         --Update the Portfolio location for that item
  45.         set path of record id rID of front gallery to fNewPath
  46.     end repeat
  47. end tell
  48.  
  49.